home *** CD-ROM | disk | FTP | other *** search
/ HPAVC / HPAVC CD-ROM.iso / AGSPPX15.ZIP / PPLX.DOC < prev    next >
Text File  |  1995-07-20  |  16KB  |  428 lines

  1.            ▄▄▄▄▄▄                        ▄
  2.          ▄█▀▀██████▄                             ▄
  3.          █    ██████▀ ▄▄█████████████▀  ▄▄▄▄▄▄▄▄▄▄ ▀▄█ ▄     ▄▄▄▄▄▄▄▄▄
  4.          ░▀  ▐██▀██ ▄██▀▀▀      ▀█▀ ▄▄█████████████▄ ████▄ ▄███████████▄
  5.           ░  ██▌ ▐█ ██           ░ ██▀▀ ▄▄▄▄▄▄▄▄▄ ▀█ █ ▄ ▄ █▀        ▄ █
  6.              ██   █ ▀█            ██▀ █▀         ▀▄▄ ▄▄██▀ █▄         ▀▌ ▄
  7.             ▐█▌   ▐█ █ ▄▄▄▄█▄▄▄▄▄ ██ █             ▀▄ ▀██ ▀████████▄
  8.             ██     █ █▄ ▀░     ▀█ ██▄ █       ▄▀▀▄   █ ███ ░▀▀▀▀▀▀▀▀▓▓▄
  9.             ██  ▄  █ ▀█▄        ░  ██ ▀▄      ░  ▀▄  █ ███           ▀██
  10.            ▐█ ▄███▄ █ ▀█▄           ██▄ ▀▄▄▄▄▄  ▄▄▀ ██ ███  ▄        ▄██
  11.    ▄▄      █▄ ░    ▄██ ▀██▄▄ ▄  ▄▄█▄ ▀██▄▄▄▄▄ ▀▀ ▄▄███ ██ ▄█ ▀    ▄▄▓▓█  ▀
  12.   █  ▀   ▄██       ░▀▀█▄ ▀▀██████████▄ ██████████████ ▄██ ███████████▀ ░
  13.   ▌▀▄▄▄██▀▀ ░ kP<aRT>░▀███▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄ ▄▄ ▄ ▄  ▄   ▄
  14.   ▌
  15.                        ▀            ▀   ▀ ▄ ▄▀ ▀▄█ █▀▀ █▀▒ █▀▒ █▀▒
  16.                              ▄   ▀    ▀ ▄  ▀ ▄▀▄ █ ▓▄▄ ▓▄█ ▓▀▄ ▓▀▀
  17.  
  18.                       ·   · ·-─────────────────--· ·   ·
  19.                                 P.P.L.X - 1.5O
  20.                       ·   · ·-─────────────────--· ·   ·
  21.                      PCBoard Programming Langage eXtractor
  22.                              (C) 1995 Lone Runner
  23.  
  24.  
  25.  
  26.                            Main Coding - Lone Runner
  27.                                  Parts - The doC
  28.  
  29.  
  30.                       · ·- DOC UPDATED, READ AGAIN! -· ·
  31.                           ──────────────────────────
  32.  
  33.      IMPORTANT CHANGES :
  34.      ───────────────────
  35.  
  36.       - my internet address has changed !
  37.       - my PGP key has changed !
  38.  
  39.      See at the end of the doc for the new address and the PGP key revocation
  40.  
  41.  
  42.   ─────────────────────--· ·   ·
  43.   ■ READ BEFORE USING !
  44.   ─────────────────────--· ·   ·
  45.  
  46.     You may use this program provided that :
  47.  
  48.     - You are not part of any federal group (i don't like federal groups ;))
  49.     - You are not part of Clark Development Company (nothing personnal...)
  50.     - You planed to use it at home for personnal purposes only (no money here!)
  51.  
  52.     THE AUTHOR MAY NOT BE RESPONSIBLE FOR ANY CHANGE MADE TO ANY PROGRAM
  53.     BY USING PPLX. Nobody will ever ever enter an action against Borland
  54.     because they made Turbo Debugger or to V Communication because they
  55.     made Sourcer. There is no more reason for PPLX author to be responsible
  56.     for any law violation by using this software.
  57.  
  58.     If you don't agree with the above terms or if you are not in accordance
  59.     with restriction use, you HAVE to delete this software IMMEDIATLY.
  60.  
  61.     Further use of this software will be considered as the acceptance of the
  62.     above terms.
  63.  
  64.  
  65.  
  66.  
  67.   ─────────────--· ·   ·
  68.   ■ DESCRIPTION
  69.   ─────────────--· ·   ·
  70.  
  71.   PPLX is a PPE decompiler... working with PPE's up to 3.10 handling FUNCTIONS 
  72.   & PROCEDURES, and performing heuristic-like analysis.
  73.  
  74.   See WHAT'S.NEW for release history.
  75.  
  76.  
  77.  
  78.   ──────────────--· ·   ·
  79.   ■ INSTALLATION
  80.   ──────────────--· ·   ·
  81.  
  82.   Hmm... copy PPLX.EXE to your UTILS\ or WHATEVERITISCALLED\ subdirectory,
  83.   preferably in your PATH...
  84.  
  85.  
  86.  
  87.   ────────────--· ·   ·
  88.   ■ USING PPLX
  89.   ────────────--· ·   ·
  90.  
  91.   PPLX FILENAME[.PPE] [/A] [/L] [/U]
  92.  
  93.   You may use wildcards instead of a filename... for example :
  94.  
  95.   PPLX C:\PCB\PPE\*.PPE /A
  96.  
  97.   or 
  98.  
  99.   PPLX WEEKTOP.PPE /A /L
  100.  
  101.  
  102.   /A (that replace the old /ANALYSIS) allows PPLX to make an heuristic
  103.   analysis of the ppe beeing decompiled. If you decompile PPE's only to
  104.   check backdoors, you will love this switch! Look at the end of the PPX
  105.   file to see what we are talking about.
  106.  
  107.   /L tells PPLX not to delete the PPU (decrypted PPE) file after decompiling
  108.  
  109.   /U tells PPLX to only decrypt the PPE to the corresponding PPU file.
  110.  
  111.   Previously used /DEBUG switch has been removed from the release version
  112.  
  113.  
  114.      *.PPU
  115.      ─────
  116.  
  117.   When decompiling a PPE 3.xx, PPLX creates a PPU file, that is in fact the
  118.   PPE 3.xx decrypted to a 2.0. Sometimes, you can even run the PPU file
  119.   after renaming it to .PPE (this can be usefull for some people still
  120.   running PCB 15.1). However, this is not recomended because some codes (such
  121.   as FINDFIRST or procedures & functions or many other things) wont be
  122.   handled by the old PCB... I have no idea what PCB does in this case, but
  123.   i believe that it would not be good (crash ?).
  124.  
  125.   Leaving the PPU (/L) or only decrypting the PPE to a PPU file (/U) can also
  126.   be done if you want to have a look into the PPE... I don't know exactly
  127.   what you can do with it but some people asked me those switchs.
  128.  
  129.  
  130.  
  131.      WARNINGS/ERRORS
  132.      ───────────────
  133.  
  134.  
  135.     "Function is declared but not defined, code may not recompile..."
  136.  
  137.   This means that, in the original source code, a function was coded but not
  138.   used. When PPLC compile the source, if a function is not used, it doesn't
  139.   update a important field that holds the function coordinates... In this
  140.   case, PPLX will not be able to detect the beginning of the function, and,
  141.   if there are local variables, to declare them. The same problem may appear
  142.   with procedures.
  143.  
  144.  
  145.     "Unknown statement xxxx, dunno how to handle it... Skipping!"
  146.  
  147.   This means that an unknown statement was used, theorically, this cannot
  148.   happen, but in real life, a corrupted PPE or a anti-decompilation trick
  149.   can produce this warning. If an unknown statement is found, it is skipped,
  150.   causing some next statements to be irrationnal... Code may redecompile
  151.   correctly after some instructions but it is not likely that the code will
  152.   be recompilable.
  153.  
  154.  
  155.     "Unknown function xxxx, dunno how to handle it... Aborting!"
  156.  
  157.   This is a fatal error, an unknown function cannot be skipped, it is due
  158.   to the same things (corrupted PPE, anti-decompilation trick) but cannot
  159.   recover.
  160.  
  161.  
  162.     "FATAL ERROR! ..."
  163.  
  164.   Any error message beginning with "FATAL ERROR" means that the PPE cannot be
  165.   decompiled due to different reasons...
  166.  
  167.  
  168.     FOR/NEXT/WHILE/IF/THEN/CASE/...
  169.     ───────────────────────────────
  170.  
  171.   Don't be surprised by a strange line of code, for example "If (1 < 0)" is
  172.   often used to initiate a FOR/NEXT loop... This is due to PPLC that convert
  173.   all loops to IF/GOTO... That's lame, yes, but that's the way PPLC does
  174.   it... :(
  175.  
  176.  
  177.     BACKDOORS
  178.     ─────────
  179.  
  180.   Don't be shy ;) Decompile all your PPE's, and check the statements/functions
  181.   usage report, a GetAltUser in a JOIN replacement may be strange ;) Use
  182.   /A...
  183.  
  184.  
  185.     PPE'S RUNNING DIFFERENT AFTER BEEING DECOMPILED & RECOMPILED
  186.     ────────────────────────────────────────────────────────────
  187.  
  188.   Some PPE's (CSSC for example) compute a self check to see if they were
  189.   decompiled and recompiled... It is not a big deal because you have the
  190.   source so you can remove the self-check test.
  191.  
  192.  
  193.     ANTI-DECOMPILATION SYSTEMS
  194.     ──────────────────────────
  195.  
  196.   Sometimes, PPLX will report "Anti-decompilation system stripped!". In fact
  197.   this happen when a suposed anti-decompilation system has been found.
  198.   Depending on the anti-decompilation trick used, PPLX will remove or
  199.   modify the line so it can be decompiled. Sometimes you won't even see
  200.   the anti-decompilation in the resulting PPX file, sometimes you will have
  201.   something like :
  202.  
  203.   INTEGER001 = INTEGER001 - *
  204.  
  205.   Just modify this line or remove it so the file can be recompiled.
  206.  
  207.   When PPLX remove the line itself, there is always a risk that this line
  208.   was really used in the code. For example, if a coder put an anti-
  209.   decompilation trick on a line that assign a variable, he can always
  210.   use the result of this assignation elswhere in the code. Because the line
  211.   has been stripped, the PPE will not run as before... Well... Get a life !
  212.   you have the code ! don't expect me to do everything for you ! :)
  213.  
  214.  
  215.   ───────────────────────--· ·   ·
  216.   ■ WARNINGz / DISCLAIMER
  217.   ───────────────────────--· ·   ·
  218.  
  219.  
  220.   ■ This decompiler should work perfectly on your machine as it is the
  221.     case on mine. However, some PPE may not decompile, due to some new
  222.     anti-decompilation tricks that maybe will cause PPLX to crash... It is
  223.     possible, also, that PPLX crash or fail to decompile a PPE because of a
  224.     special instruction chain that i didn't manage to handle... In such a
  225.     case, please mail me an uuencoded version of the PPE...
  226.  
  227.   ■ Do what you want with this... You may use this program in any way you
  228.     want, you may destroy it, burn it, eat it, smoke it, inject it, vomit it,
  229.     kick it, suck it, piss it, shot it, print it with reversed lines, rename
  230.     it to zip, arj, arc or whatever you want, try then to extract it, to
  231.     pkzipfix it, you may also perform sort on it, uuencode, crypt it with
  232.     PGP, play it on your GUS or even your SB, you may even decompile, modify
  233.     it, you may do WHAT YOU WANT, but NO MEMBER OF AEGiS CoRP MAY BE
  234.     RESPONSIBLE FOR ANY DAMAGE CAUSED BY THE USE OF THIS PROGRAM OR IT'S
  235.     MODIFICATIONS...
  236.  
  237.   ■ I don't ask any money for you to use PPLX, so don't expect support if
  238.     you experience troubles with this program. If i have time, i will answer
  239.     each email, but i cannot garantee this nor. Don't think it is because
  240.     i have a big ego, but i simply don't have much time :) Anyway, be
  241.     patient, answers may come a lot later than expected, but they may come...
  242.  
  243.  
  244.   ─────────────--· ·   ·
  245.   ■ FINAL WORDS
  246.   ─────────────--· ·   ·
  247.  
  248.  
  249.  ■ Clark Development Company
  250.    ─────────────────────────
  251.  
  252.    Still not decided to make OBJ code ? :)
  253.  
  254.  ■ Shareware PPE Coders
  255.    ────────────────────
  256.  
  257.    Well, sorry men, I also make PPE's, and very large ones that take many
  258.    months of programming, but asking money for such pieces of crap is lame...
  259.  
  260.  
  261.  ■ PCB Sysops
  262.    ──────────
  263.  
  264.    Remember ? -> NEVER change a copyright notice ! :)
  265.    We have seen too many sysops changing PPE's authors name and doing such
  266.    lame operations... respect the work of a good coder... don't be lame, let
  267.    his name and notices...
  268.  
  269.  
  270.  ■ Copyright-removers / Backdoor-creators / Lamers & Co
  271.    ────────────────────────────────────────────────────
  272.  
  273.    Don't bother, go to hell immediatly, don't wait to die... thanks.
  274.  
  275.  
  276.  ■ Everybody
  277.    ─────────
  278.  
  279.    Suggestions ? Contacts ? (legal only)
  280.  
  281.    * INTERNET ADDRESS CHANGED!!! *
  282.      ───────────────────────────
  283.  
  284.    -> Write to : lone.runner@nuxes.frmug.fr.net
  285.  
  286.    NOTE : You CAN now send UUENCODED files, i'll receive them :)
  287.  
  288.    Also, it is possible that you don't have the *LAST* version of the
  289.    decompiler since i release new versions when i find bugs, that means that
  290.    there is no periodicity for new releases of PPLX. For this reason, mail
  291.    me to ask the last version of the decompiler before telling that it is
  292.    impossible to decompile a PPE :)
  293.  
  294.    Although i will try to make new versions as soon as bugs are found, i
  295.    cannot garantee that i will release one each time i found a new PPE that
  296.    don't decompile...
  297.  
  298.    But please, PLEASE !!! Don't ask me to explain the PPE format :)
  299.  
  300.    Oh yes, of course, SOURCE IS AVAILABLE... for 1.000.000$ Cash Only.
  301.  
  302.  
  303.    If you want to support AEGiS CoRP
  304.    ─────────────────────────────────
  305.  
  306.    You want to legalize marijuana ? jason.bourne@nuxes.frmug.fr.net
  307.    You want to play paintball and break your leg ? gandalf@nuxes.frmug.fr.net
  308.    You want to trash norton commander ? the.doc@nuxes.frmug.fr.net
  309.    Tha wan ta chad lak diss ? kloy@nuxes.frmug.fr.net
  310.    You want to exchange raggae CDs ? new.id@nuxes.frmug.fr.net
  311.    You want to kill Windows ? number.six@nuxes.frmug.fr.net
  312.    You want to give hardware ? ;) lone.runner@nuxes.frmug.fr.net
  313.  
  314.  
  315.  
  316.    * PGP KEY CHANGED!!! *
  317.      ──────────────────
  318.  
  319.    Here is the revocation certification for my OLD key (so you know this
  320.    version is not a fake :) )
  321.  
  322. -----BEGIN PGP PUBLIC KEY BLOCK-----
  323. Version: 2.6
  324.  
  325. mQCNAi+5pPgAAAEEAL/3Dtnn0sq3tEqvFVcXOo6gZiWZzQ+6bNjPOpLv7Wfh58Mj
  326. fF/ySJBrJQjTv7CoHVrUxY/ev3VgBpgmmS6RKhZTdv+Grso6nDzoX1B7WSQGRqVW
  327. JkII6zchYbr3HpCbYf5M1ui4bZTG59SUQAj9fq8U9flWOyLZBGMxOUzkhwwdAAUR
  328. iQCVAgUgL/wReGMxOUzkhwwdAQFOVgP9Ew5THLYh6LlWig1yJnp4HV7kPZonCYHM
  329. vreXP118CoHQ0D3cWRhfGTvpS57GnfIiodOK8zlZ4sU+kUcGKLTuj9jiQGfyLjTc
  330. d9lX4LSTAMrkcafTntfHw1MEYZLmHjMy0CHS5w8U+wJkpZ2ufBa/qDSWBrEywTe4
  331. VF1rOoSH+9i0L0ZyYW5jaXMgR2FzdGVsbHUgPGZyYW5jaXMuZ2FzdGVsbHVAZWxl
  332. Y3Ryb24uZnI+iQCVAgUQL7lXS2MxOUzkhwwdAQFCbAP/Q5sYOEdcY+uL7MLG2hpJ
  333. 0uLN3mwcpfT2e1/xNp//jhqAg845MrgRytkJ+gVrBNyj9PkpBO6coQQggOVsPu50
  334. UF+OU5jIHCl7JrWcIUBPp/WzNZTiqzP19txa9lghJkZzFZxPK1OZ/1u2X4hfvj/V
  335. O6L90x6UaqhPYIMFR7YfYc8=
  336. =U+IQ
  337. -----END PGP PUBLIC KEY BLOCK-----
  338.  
  339.  
  340.    And here is my BRAND NEW KEY ! (much more nice looking isn't it ? ;))
  341.  
  342.  
  343. -----BEGIN PGP PUBLIC KEY BLOCK-----
  344. Version: 2.6
  345.  
  346. mQCNAi/8EHAAAAEEAKmS4/mymaVeyczvrKdr4sSdj8vKXHWz7SOK5wcI3S/bkIzk
  347. cF7b0/V35uP5ItStUxNsU54zRDS9snl3MH4/9wgcpky/GEGVAeuC0suybpBOLiJP
  348. JKUkffhk2jlB7qFB8+dQhMjBc1iUST8rDSuID7t7ChqdY2xHihxaVwFGSpdVAAUR
  349. tB5sb25lLnJ1bm5lckBudXhlcy5mcm11Zy5mci5uZXS0C0xvbmUgUnVubmVy
  350. =sqjP
  351. -----END PGP PUBLIC KEY BLOCK-----
  352.  
  353.  
  354.   ──────--· ·   ·
  355.   ■ SOAP
  356.   ──────--· ·   ·
  357.  
  358.   Do you know SOAP ? No ??!!?
  359.  
  360.   Well... SOAP stands for "State Of the Art for PCBoard", it is a fast-growing
  361.   internationnal network dedicaced to PCBoard. For now, SOAP is distributed
  362.   in France, Spain, Italy, Denmark, Germany and Switzerland, and many groups
  363.   has joined (like AEGiS, TNT, ECR and more). The purpose of this net is to
  364.   create a big meeting place for all sysops that have interests in PCB
  365.   (PPE Coding, Configuration problems, Interfacing, Ansi/ascii art, etc...)
  366.   There are also group-restricted confs for PPE group members. An echo file
  367.   is under develoment and should spread all productions from all groups on
  368.   SOAP and more...
  369.  
  370.   If you want more infos (Conf list, etc...) see the Soap Infopackage
  371.   included into PPLX archive.
  372.  
  373.   See ya in a SOAP Conf !
  374.  
  375.  
  376.   ────────--· ·   ·
  377.   ■ GREETS
  378.   ────────--· ·   ·
  379.  
  380.  
  381.    Gandalf/Infiny/AEGiS         - How is your leg ? :)
  382.  
  383.    The doC/AEGiS                - Thanks for your support in brainstormings
  384.                                   while trying to guess how was coded this
  385.                                   stupid PPE format ;)
  386.  
  387.    Chicken/ECR                  - Why should i write something ?
  388.                                   I just want to greet you ! :)
  389.  
  390.    Number Six/AEGiS             - Still hyptnotized by your 21p screen ? :)
  391.  
  392.    New ID/Massive Posse         - Ragga rulez!
  393.  
  394.    Jason Bourne/AEGiS           - Legalize !!!
  395.  
  396.    Ferem/MWB/AEGiS              - Did you finish you realtime-gouraud-shaded-
  397.                                   fractal-landscape-with-integrated-phong-
  398.                                   and-mutating-multitasking-code-impossible-
  399.                                   to-trace ? :))
  400.  
  401.    Kloy / (┤RT                  - Thanks for those kewl ASCIIz!
  402.  
  403.    HACKTiON                     - your are kewl guyz, make more prods!
  404.  
  405.    PWA                          - Is the PPE section still alive ? Hope so...
  406.                                   anyway, thanks to you guys, to have made
  407.                                   the world of PPE's so competitive...
  408.  
  409.    All (good ;)) PPE Groups     - Go on, continue to release new products,
  410.                                   and feel free to chat with AEGiS members,
  411.                                   write to aegis.corp@nuxes.frmug.fr.net !                                 
  412.  
  413.  
  414.  
  415.                                                            _.LoNE RuNNeR
  416.  
  417.  
  418.                                         _    _  _ ___ ___/\
  419.     _________/\  /\_____________/\________________ ___ _  _ \/\______________
  420.    /      _    \/   _________  /    ______________________  /   __________  /
  421.  _/     __/     \    ____)___\/     \         \_/         \/\___________  \/_
  422.  \      \        \_  \        \_     \__       \_            \_        /    /
  423.   \______\        /____________/________________/_____________/____________/kP
  424.   ·-------`------'---------------------------------------------------------·
  425.  
  426.  
  427.  
  428.